WORST_CASE(?,O(n^3)) Solution: --------- "0" :: [] -(0)-> "A"(0, 4, 2) "0" :: [] -(0)-> "A"(4, 0, 0) "0" :: [] -(0)-> "A"(1, 0, 0) "0" :: [] -(0)-> "A"(11, 0, 0) "0" :: [] -(0)-> "A"(1, 15, 15) "0" :: [] -(0)-> "A"(15, 12, 2) "0" :: [] -(0)-> "A"(14, 14, 14) "0" :: [] -(0)-> "A"(15, 15, 14) "activate" :: ["A"(2, 0, 9)] -(6)-> "A"(0, 0, 0) "add" :: ["A"(1, 0, 0) x "A"(1, 0, 0)] -(1)-> "A"(0, 0, 0) "cons" :: ["A"(9, 0, 0) x "A"(11, 0, 9)] -(0)-> "A"(2, 0, 9) "cons" :: ["A"(0, 0, 0) x "A"(0, 0, 0)] -(0)-> "A"(0, 0, 0) "dbl" :: ["A"(4, 0, 0)] -(1)-> "A"(1, 0, 0) "first" :: ["A"(11, 0, 0) x "A"(2, 0, 9)] -(3)-> "A"(0, 0, 0) "half" :: ["A"(1, 0, 0)] -(14)-> "A"(0, 0, 0) "n__first" :: ["A"(11, 9, 0) x "A"(2, 9, 9)] -(9)-> "A"(2, 0, 9) "n__first" :: ["A"(0, 0, 0) x "A"(0, 0, 0)] -(0)-> "A"(0, 0, 0) "n__terms" :: ["A"(0, 9, 9)] -(0)-> "A"(2, 0, 9) "n__terms" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 0) "n__terms" :: ["A"(0, 2, 1)] -(0)-> "A"(2, 1, 1) "nil" :: [] -(0)-> "A"(14, 14, 15) "recip" :: ["A"(0, 0, 0)] -(0)-> "A"(15, 6, 14) "s" :: ["A"(4, 6, 2)] -(4)-> "A"(0, 4, 2) "s" :: ["A"(4, 0, 0)] -(4)-> "A"(4, 0, 0) "s" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 0) "s" :: ["A"(11, 0, 0)] -(11)-> "A"(11, 0, 0) "s" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 0) "sqr" :: ["A"(0, 4, 2)] -(1)-> "A"(0, 0, 0) "terms" :: ["A"(0, 8, 6)] -(2)-> "A"(0, 0, 0) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "A"_cf(0, 2, 0) "0" :: [] -(0)-> "A"_cf(15, 15, 14) "0" :: [] -(0)-> "A"_cf(1, 0, 0) "0" :: [] -(0)-> "A"_cf(2, 0, 0) "0" :: [] -(0)-> "A"_cf(8, 12, 0) "0" :: [] -(0)-> "A"_cf(0, 0, 0) "0" :: [] -(0)-> "A"_cf(1, 3, 4) "0" :: [] -(0)-> "A"_cf(8, 0, 0) "0" :: [] -(0)-> "A"_cf(0, 9, 0) "0" :: [] -(0)-> "A"_cf(0, 9, 12) "activate" :: ["A"_cf(9, 0, 0)] -(2)-> "A"_cf(0, 0, 0) "activate" :: ["A"_cf(0, 9, 0)] -(7)-> "A"_cf(0, 0, 0) "add" :: ["A"_cf(1, 0, 0) x "A"_cf(1, 0, 0)] -(0)-> "A"_cf(1, 0, 0) "add" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "cons" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "cons" :: ["A"_cf(0, 0, 0) x "A"_cf(9, 0, 0)] -(0)-> "A"_cf(9, 0, 0) "cons" :: ["A"_cf(0, 9, 0) x "A"_cf(0, 9, 0)] -(0)-> "A"_cf(0, 9, 0) "dbl" :: ["A"_cf(2, 0, 0)] -(0)-> "A"_cf(1, 0, 0) "dbl" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "first" :: ["A"_cf(8, 0, 0) x "A"_cf(9, 0, 0)] -(1)-> "A"_cf(0, 0, 0) "first" :: ["A"_cf(0, 9, 0) x "A"_cf(0, 9, 0)] -(5)-> "A"_cf(0, 0, 0) "half" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "n__first" :: ["A"_cf(9, 0, 0) x "A"_cf(9, 0, 0)] -(0)-> "A"_cf(9, 0, 0) "n__first" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "n__first" :: ["A"_cf(0, 9, 0) x "A"_cf(0, 9, 0)] -(9)-> "A"_cf(0, 9, 0) "n__terms" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(9, 0, 0) "n__terms" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "n__terms" :: ["A"_cf(0, 9, 0)] -(0)-> "A"_cf(0, 9, 0) "n__terms" :: ["A"_cf(0, 4, 0)] -(0)-> "A"_cf(5, 4, 0) "nil" :: [] -(0)-> "A"_cf(0, 0, 0) "nil" :: [] -(0)-> "A"_cf(8, 12, 0) "recip" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 1) "recip" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(14, 15, 15) "s" :: ["A"_cf(2, 2, 0)] -(2)-> "A"_cf(0, 2, 0) "s" :: ["A"_cf(1, 0, 0)] -(1)-> "A"_cf(1, 0, 0) "s" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 0, 0) "s" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "s" :: ["A"_cf(8, 0, 0)] -(8)-> "A"_cf(8, 0, 0) "s" :: ["A"_cf(9, 9, 0)] -(9)-> "A"_cf(0, 9, 0) "sqr" :: ["A"_cf(0, 2, 0)] -(0)-> "A"_cf(1, 0, 0) "sqr" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "sqr" :: ["A"_cf(0, 0, 0)] -(1)-> "A"_cf(0, 0, 0) "terms" :: ["A"_cf(0, 0, 0)] -(2)-> "A"_cf(0, 0, 0) "terms" :: ["A"_cf(0, 8, 0)] -(2)-> "A"_cf(0, 0, 0) Base Constructors: ------------------ "\"0\"_A" :: [] -(0)-> "A"(1, 0, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 1, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 0, 1) "\"cons\"_A" :: ["A"(0, 0, 0) x "A"(1, 0, 0)] -(0)-> "A"(1, 0, 0) "\"cons\"_A" :: ["A"(0, 1, 0) x "A"(0, 1, 0)] -(0)-> "A"(0, 1, 0) "\"cons\"_A" :: ["A"(1, 0, 0) x "A"(1, 0, 1)] -(0)-> "A"(0, 0, 1) "\"n__first\"_A" :: ["A"(0) x "A"(0)] -(0)-> "A"(1, 0, 0) "\"n__first\"_A" :: ["A"(0) x "A"(0)] -(1)-> "A"(0, 1, 0) "\"n__first\"_A" :: ["A"(0) x "A"(0)] -(1)-> "A"(0, 0, 1) "\"n__terms\"_A" :: ["A"(0)] -(0)-> "A"(1, 0, 0) "\"n__terms\"_A" :: ["A"(0)] -(0)-> "A"(0, 1, 0) "\"n__terms\"_A" :: ["A"(0)] -(0)-> "A"(0, 0, 1) "\"nil\"_A" :: [] -(0)-> "A"(1, 0, 0) "\"nil\"_A" :: [] -(0)-> "A"(0, 1, 0) "\"nil\"_A" :: [] -(0)-> "A"(0, 0, 1) "\"recip\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(1, 0, 0) "\"recip\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 1, 0) "\"recip\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 1) "\"s\"_A" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 0) "\"s\"_A" :: ["A"(1, 1, 0)] -(1)-> "A"(0, 1, 0) "\"s\"_A" :: ["A"(0, 1, 1)] -(0)-> "A"(0, 0, 1)